# Copyright 2025 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============================================================================
"""Generate data for test."""
import numpy as np

def get_init_params():
    # Generate initialization parameters
    np.random.seed(42)
    return {
        "max_seq_len": 5,
        "offset": 1,
    }

def get_golden() -> dict[str, np.ndarray]:
    """Generate golden data for test."""
    output_1 = np.array(
        [[[[1.00000000e+00, 5.62341332e-01, 3.16227764e-01, 1.77827939e-01,
            1.00000001e-01, 5.62341288e-02, 3.16227786e-02, 1.77827943e-02,
            9.99999978e-03, 5.62341325e-03, 3.16227786e-03, 1.77827943e-03,
            1.00000005e-03, 5.62341302e-04, 3.16227786e-04, 1.77827940e-04,
            1.00000000e+00, 5.62341332e-01, 3.16227764e-01, 1.77827939e-01,
            1.00000001e-01, 5.62341288e-02, 3.16227786e-02, 1.77827943e-02,
            9.99999978e-03, 5.62341325e-03, 3.16227786e-03, 1.77827943e-03,
            1.00000005e-03, 5.62341302e-04, 3.16227786e-04, 1.77827940e-04]]],

         [[[2.00000000e+00, 1.12468266e+00, 6.32455528e-01, 3.55655879e-01,
            2.00000003e-01, 1.12468258e-01, 6.32455572e-02, 3.55655886e-02,
            1.99999996e-02, 1.12468265e-02, 6.32455572e-03, 3.55655886e-03,
            2.00000009e-03, 1.12468260e-03, 6.32455572e-04, 3.55655880e-04,
            2.00000000e+00, 1.12468266e+00, 6.32455528e-01, 3.55655879e-01,
            2.00000003e-01, 1.12468258e-01, 6.32455572e-02, 3.55655886e-02,
            1.99999996e-02, 1.12468265e-02, 6.32455572e-03, 3.55655886e-03,
            2.00000009e-03, 1.12468260e-03, 6.32455572e-04, 3.55655880e-04]]],

         [[[3.00000000e+00, 1.68702400e+00, 9.48683262e-01, 5.33483803e-01,
            3.00000012e-01, 1.68702394e-01, 9.48683321e-02, 5.33483848e-02,
            2.99999993e-02, 1.68702397e-02, 9.48683359e-03, 5.33483829e-03,
            3.00000003e-03, 1.68702391e-03, 9.48683359e-04, 5.33483806e-04,
            3.00000000e+00, 1.68702400e+00, 9.48683262e-01, 5.33483803e-01,
            3.00000012e-01, 1.68702394e-01, 9.48683321e-02, 5.33483848e-02,
            2.99999993e-02, 1.68702397e-02, 9.48683359e-03, 5.33483829e-03,
            3.00000003e-03, 1.68702391e-03, 9.48683359e-04, 5.33483806e-04]]],

         [[[4.00000000e+00, 2.24936533e+00, 1.26491106e+00, 7.11311758e-01,
            4.00000006e-01, 2.24936515e-01, 1.26491114e-01, 7.11311772e-02,
            3.99999991e-02, 2.24936530e-02, 1.26491114e-02, 7.11311772e-03,
            4.00000019e-03, 2.24936521e-03, 1.26491114e-03, 7.11311761e-04,
            4.00000000e+00, 2.24936533e+00, 1.26491106e+00, 7.11311758e-01,
            4.00000006e-01, 2.24936515e-01, 1.26491114e-01, 7.11311772e-02,
            3.99999991e-02, 2.24936530e-02, 1.26491114e-02, 7.11311772e-03,
            4.00000019e-03, 2.24936521e-03, 1.26491114e-03, 7.11311761e-04]]],

         [[[5.00000000e+00, 2.81170654e+00, 1.58113885e+00, 8.89139712e-01,
            5.00000000e-01, 2.81170636e-01, 1.58113897e-01, 8.89139697e-02,
            4.99999970e-02, 2.81170662e-02, 1.58113893e-02, 8.89139716e-03,
            5.00000035e-03, 2.81170662e-03, 1.58113893e-03, 8.89139716e-04,
            5.00000000e+00, 2.81170654e+00, 1.58113885e+00, 8.89139712e-01,
            5.00000000e-01, 2.81170636e-01, 1.58113897e-01, 8.89139697e-02,
            4.99999970e-02, 2.81170662e-02, 1.58113893e-02, 8.89139716e-03,
            5.00000035e-03, 2.81170662e-03, 1.58113893e-03, 8.89139716e-04]]]])
    output_2 = np.array(
        [[[[1.00000000e+00, 4.78630096e-01, 2.29086772e-01, 1.09647825e-01,
            5.24807498e-02, 2.51188707e-02, 1.20226452e-02, 5.75439911e-03,
            2.75422912e-03, 1.31825719e-03, 6.30957598e-04, 3.01995198e-04,
            1.44543999e-04, 1.00000000e+00, 4.78630096e-01, 2.29086772e-01,
            1.09647825e-01, 5.24807498e-02, 2.51188707e-02, 1.20226452e-02,
            5.75439911e-03, 2.75422912e-03, 1.31825719e-03, 6.30957598e-04,
            3.01995198e-04, 1.44543999e-04]]],

         [[[2.00000000e+00, 9.57260191e-01, 4.58173543e-01, 2.19295651e-01,
            1.04961500e-01, 5.02377413e-02, 2.40452904e-02, 1.15087982e-02,
            5.50845824e-03, 2.63651437e-03, 1.26191520e-03, 6.03990396e-04,
            2.89087999e-04, 2.00000000e+00, 9.57260191e-01, 4.58173543e-01,
            2.19295651e-01, 1.04961500e-01, 5.02377413e-02, 2.40452904e-02,
            1.15087982e-02, 5.50845824e-03, 2.63651437e-03, 1.26191520e-03,
            6.03990396e-04, 2.89087999e-04]]],

         [[[3.00000000e+00, 1.43589032e+00, 6.87260330e-01, 3.28943491e-01,
            1.57442242e-01, 7.53566101e-02, 3.60679366e-02, 1.72631964e-02,
            8.26268736e-03, 3.95477144e-03, 1.89287285e-03, 9.05985595e-04,
            4.33631998e-04, 3.00000000e+00, 1.43589032e+00, 6.87260330e-01,
            3.28943491e-01, 1.57442242e-01, 7.53566101e-02, 3.60679366e-02,
            1.72631964e-02, 8.26268736e-03, 3.95477144e-03, 1.89287285e-03,
            9.05985595e-04, 4.33631998e-04]]],

         [[[4.00000000e+00, 1.91452038e+00, 9.16347086e-01, 4.38591301e-01,
            2.09922999e-01, 1.00475483e-01, 4.80905809e-02, 2.30175965e-02,
            1.10169165e-02, 5.27302874e-03, 2.52383039e-03, 1.20798079e-03,
            5.78175997e-04, 4.00000000e+00, 1.91452038e+00, 9.16347086e-01,
            4.38591301e-01, 2.09922999e-01, 1.00475483e-01, 4.80905809e-02,
            2.30175965e-02, 1.10169165e-02, 5.27302874e-03, 2.52383039e-03,
            1.20798079e-03, 5.78175997e-04]]],

         [[[5.00000000e+00, 2.39315057e+00, 1.14543390e+00, 5.48239112e-01,
            2.62403756e-01, 1.25594348e-01, 6.01132251e-02, 2.87719965e-02,
            1.37711456e-02, 6.59128604e-03, 3.15478793e-03, 1.50997599e-03,
            7.22719997e-04, 5.00000000e+00, 2.39315057e+00, 1.14543390e+00,
            5.48239112e-01, 2.62403756e-01, 1.25594348e-01, 6.01132251e-02,
            2.87719965e-02, 1.37711456e-02, 6.59128604e-03, 3.15478793e-03,
            1.50997599e-03, 7.22719997e-04]]]])
    output_3 = np.array(
        [[[[1.00000000e+00, 1.00000000e+00, 5.62341332e-01, 5.62341332e-01,
            3.16227764e-01, 3.16227764e-01, 1.77827939e-01, 1.77827939e-01,
            1.00000001e-01, 1.00000001e-01, 5.62341288e-02, 5.62341288e-02,
            3.16227786e-02, 3.16227786e-02, 1.77827943e-02, 1.77827943e-02,
            9.99999978e-03, 9.99999978e-03, 5.62341325e-03, 5.62341325e-03,
            3.16227786e-03, 3.16227786e-03, 1.77827943e-03, 1.77827943e-03,
            1.00000005e-03, 1.00000005e-03, 5.62341302e-04, 5.62341302e-04,
            3.16227786e-04, 3.16227786e-04, 1.77827940e-04, 1.77827940e-04]]],

         [[[2.00000000e+00, 2.00000000e+00, 1.12468266e+00, 1.12468266e+00,
            6.32455528e-01, 6.32455528e-01, 3.55655879e-01, 3.55655879e-01,
            2.00000003e-01, 2.00000003e-01, 1.12468258e-01, 1.12468258e-01,
            6.32455572e-02, 6.32455572e-02, 3.55655886e-02, 3.55655886e-02,
            1.99999996e-02, 1.99999996e-02, 1.12468265e-02, 1.12468265e-02,
            6.32455572e-03, 6.32455572e-03, 3.55655886e-03, 3.55655886e-03,
            2.00000009e-03, 2.00000009e-03, 1.12468260e-03, 1.12468260e-03,
            6.32455572e-04, 6.32455572e-04, 3.55655880e-04, 3.55655880e-04]]],

         [[[3.00000000e+00, 3.00000000e+00, 1.68702400e+00, 1.68702400e+00,
            9.48683262e-01, 9.48683262e-01, 5.33483803e-01, 5.33483803e-01,
            3.00000012e-01, 3.00000012e-01, 1.68702394e-01, 1.68702394e-01,
            9.48683321e-02, 9.48683321e-02, 5.33483848e-02, 5.33483848e-02,
            2.99999993e-02, 2.99999993e-02, 1.68702397e-02, 1.68702397e-02,
            9.48683359e-03, 9.48683359e-03, 5.33483829e-03, 5.33483829e-03,
            3.00000003e-03, 3.00000003e-03, 1.68702391e-03, 1.68702391e-03,
            9.48683359e-04, 9.48683359e-04, 5.33483806e-04, 5.33483806e-04]]],

         [[[4.00000000e+00, 4.00000000e+00, 2.24936533e+00, 2.24936533e+00,
            1.26491106e+00, 1.26491106e+00, 7.11311758e-01, 7.11311758e-01,
            4.00000006e-01, 4.00000006e-01, 2.24936515e-01, 2.24936515e-01,
            1.26491114e-01, 1.26491114e-01, 7.11311772e-02, 7.11311772e-02,
            3.99999991e-02, 3.99999991e-02, 2.24936530e-02, 2.24936530e-02,
            1.26491114e-02, 1.26491114e-02, 7.11311772e-03, 7.11311772e-03,
            4.00000019e-03, 4.00000019e-03, 2.24936521e-03, 2.24936521e-03,
            1.26491114e-03, 1.26491114e-03, 7.11311761e-04, 7.11311761e-04]]],

         [[[5.00000000e+00, 5.00000000e+00, 2.81170654e+00, 2.81170654e+00,
            1.58113885e+00, 1.58113885e+00, 8.89139712e-01, 8.89139712e-01,
            5.00000000e-01, 5.00000000e-01, 2.81170636e-01, 2.81170636e-01,
            1.58113897e-01, 1.58113897e-01, 8.89139697e-02, 8.89139697e-02,
            4.99999970e-02, 4.99999970e-02, 2.81170662e-02, 2.81170662e-02,
            1.58113893e-02, 1.58113893e-02, 8.89139716e-03, 8.89139716e-03,
            5.00000035e-03, 5.00000035e-03, 2.81170662e-03, 2.81170662e-03,
            1.58113893e-03, 1.58113893e-03, 8.89139716e-04, 8.89139716e-04]]]])
    output_4 = np.array(
        [[[[9.09090936e-01, 5.11219382e-01, 2.87479788e-01, 1.61661774e-01,
            9.09090936e-02, 5.11219352e-02, 2.87479814e-02, 1.61661766e-02,
            9.09090880e-03, 5.11219399e-03, 2.87479814e-03, 1.61661766e-03,
            9.09090973e-04, 5.11219376e-04, 2.87479808e-04, 1.61661766e-04,
            9.09090936e-01, 5.11219382e-01, 2.87479788e-01, 1.61661774e-01,
            9.09090936e-02, 5.11219352e-02, 2.87479814e-02, 1.61661766e-02,
            9.09090880e-03, 5.11219399e-03, 2.87479814e-03, 1.61661766e-03,
            9.09090973e-04, 5.11219376e-04, 2.87479808e-04, 1.61661766e-04]]],

         [[[1.81818187e+00, 1.02243876e+00, 5.74959576e-01, 3.23323548e-01,
            1.81818187e-01, 1.02243870e-01, 5.74959628e-02, 3.23323533e-02,
            1.81818176e-02, 1.02243880e-02, 5.74959628e-03, 3.23323533e-03,
            1.81818195e-03, 1.02243875e-03, 5.74959617e-04, 3.23323533e-04,
            1.81818187e+00, 1.02243876e+00, 5.74959576e-01, 3.23323548e-01,
            1.81818187e-01, 1.02243870e-01, 5.74959628e-02, 3.23323533e-02,
            1.81818176e-02, 1.02243880e-02, 5.74959628e-03, 3.23323533e-03,
            1.81818195e-03, 1.02243875e-03, 5.74959617e-04, 3.23323533e-04]]],

         [[[2.72727275e+00, 1.53365815e+00, 8.62439334e-01, 4.84985292e-01,
            2.72727281e-01, 1.53365806e-01, 8.62439424e-02, 4.84985299e-02,
            2.72727273e-02, 1.53365815e-02, 8.62439442e-03, 4.84985299e-03,
            2.72727292e-03, 1.53365813e-03, 8.62439396e-04, 4.84985299e-04,
            2.72727275e+00, 1.53365815e+00, 8.62439334e-01, 4.84985292e-01,
            2.72727281e-01, 1.53365806e-01, 8.62439424e-02, 4.84985299e-02,
            2.72727273e-02, 1.53365815e-02, 8.62439442e-03, 4.84985299e-03,
            2.72727292e-03, 1.53365813e-03, 8.62439396e-04, 4.84985299e-04]]],

         [[[3.63636374e+00, 2.04487753e+00, 1.14991915e+00, 6.46647096e-01,
            3.63636374e-01, 2.04487741e-01, 1.14991926e-01, 6.46647066e-02,
            3.63636352e-02, 2.04487760e-02, 1.14991926e-02, 6.46647066e-03,
            3.63636389e-03, 2.04487750e-03, 1.14991923e-03, 6.46647066e-04,
            3.63636374e+00, 2.04487753e+00, 1.14991915e+00, 6.46647096e-01,
            3.63636374e-01, 2.04487741e-01, 1.14991926e-01, 6.46647066e-02,
            3.63636352e-02, 2.04487760e-02, 1.14991926e-02, 6.46647066e-03,
            3.63636389e-03, 2.04487750e-03, 1.14991923e-03, 6.46647066e-04]]],

         [[[4.54545450e+00, 2.55609703e+00, 1.43739891e+00, 8.08308780e-01,
            4.54545468e-01, 2.55609661e-01, 1.43739894e-01, 8.08308795e-02,
            4.54545431e-02, 2.55609695e-02, 1.43739898e-02, 8.08308832e-03,
            4.54545487e-03, 2.55609676e-03, 1.43739907e-03, 8.08308832e-04,
            4.54545450e+00, 2.55609703e+00, 1.43739891e+00, 8.08308780e-01,
            4.54545468e-01, 2.55609661e-01, 1.43739894e-01, 8.08308795e-02,
            4.54545431e-02, 2.55609695e-02, 1.43739898e-02, 8.08308832e-03,
            4.54545487e-03, 2.55609676e-03, 1.43739907e-03, 8.08308832e-04]]]])
    output_5 = np.array(
        [[[[1.00000000e+00, 5.62341332e-01, 3.16227764e-01, 1.77827939e-01,
            1.00000001e-01, 5.62341288e-02, 3.16227786e-02, 1.77827943e-02,
            9.99999978e-03, 5.62341325e-03, 3.16227786e-03, 9.06152767e-04,
            2.13607578e-04, 7.02926627e-05, 3.95284733e-05, 2.22284925e-05,
            1.00000000e+00, 5.62341332e-01, 3.16227764e-01, 1.77827939e-01,
            1.00000001e-01, 5.62341288e-02, 3.16227786e-02, 1.77827943e-02,
            9.99999978e-03, 5.62341325e-03, 3.16227786e-03, 9.06152767e-04,
            2.13607578e-04, 7.02926627e-05, 3.95284733e-05, 2.22284925e-05]]],

         [[[2.00000000e+00, 1.12468266e+00, 6.32455528e-01, 3.55655879e-01,
            2.00000003e-01, 1.12468258e-01, 6.32455572e-02, 3.55655886e-02,
            1.99999996e-02, 1.12468265e-02, 6.32455572e-03, 1.81230553e-03,
            4.27215156e-04, 1.40585325e-04, 7.90569466e-05, 4.44569851e-05,
            2.00000000e+00, 1.12468266e+00, 6.32455528e-01, 3.55655879e-01,
            2.00000003e-01, 1.12468258e-01, 6.32455572e-02, 3.55655886e-02,
            1.99999996e-02, 1.12468265e-02, 6.32455572e-03, 1.81230553e-03,
            4.27215156e-04, 1.40585325e-04, 7.90569466e-05, 4.44569851e-05]]],

         [[[3.00000000e+00, 1.68702400e+00, 9.48683262e-01, 5.33483803e-01,
            3.00000012e-01, 1.68702394e-01, 9.48683321e-02, 5.33483848e-02,
            2.99999993e-02, 1.68702397e-02, 9.48683359e-03, 2.71845842e-03,
            6.40822749e-04, 2.10877988e-04, 1.18585420e-04, 6.66854758e-05,
            3.00000000e+00, 1.68702400e+00, 9.48683262e-01, 5.33483803e-01,
            3.00000012e-01, 1.68702394e-01, 9.48683321e-02, 5.33483848e-02,
            2.99999993e-02, 1.68702397e-02, 9.48683359e-03, 2.71845842e-03,
            6.40822749e-04, 2.10877988e-04, 1.18585420e-04, 6.66854758e-05]]],

         [[[4.00000000e+00, 2.24936533e+00, 1.26491106e+00, 7.11311758e-01,
            4.00000006e-01, 2.24936515e-01, 1.26491114e-01, 7.11311772e-02,
            3.99999991e-02, 2.24936530e-02, 1.26491114e-02, 3.62461107e-03,
            8.54430313e-04, 2.81170651e-04, 1.58113893e-04, 8.89139701e-05,
            4.00000000e+00, 2.24936533e+00, 1.26491106e+00, 7.11311758e-01,
            4.00000006e-01, 2.24936515e-01, 1.26491114e-01, 7.11311772e-02,
            3.99999991e-02, 2.24936530e-02, 1.26491114e-02, 3.62461107e-03,
            8.54430313e-04, 2.81170651e-04, 1.58113893e-04, 8.89139701e-05]]],

         [[[5.00000000e+00, 2.81170654e+00, 1.58113885e+00, 8.89139712e-01,
            5.00000000e-01, 2.81170636e-01, 1.58113897e-01, 8.89139697e-02,
            4.99999970e-02, 2.81170662e-02, 1.58113893e-02, 4.53076372e-03,
            1.06803793e-03, 3.51463328e-04, 1.97642366e-04, 1.11142464e-04,
            5.00000000e+00, 2.81170654e+00, 1.58113885e+00, 8.89139712e-01,
            5.00000000e-01, 2.81170636e-01, 1.58113897e-01, 8.89139697e-02,
            4.99999970e-02, 2.81170662e-02, 1.58113893e-02, 4.53076372e-03,
            1.06803793e-03, 3.51463328e-04, 1.97642366e-04, 1.11142464e-04]]]])
    return {
        "output_1": output_1,
        "output_2": output_2,
        "output_3": output_3,
        "output_4": output_4,
        "output_5": output_5
    }

def get_gpu_datas() -> dict[str, np.ndarray]:
    """Generate gpu data for test."""
    output_1 = np.array(
        [[[[1.00000000e+00, 5.62341332e-01, 3.16227764e-01, 1.77827939e-01,
            1.00000001e-01, 5.62341288e-02, 3.16227786e-02, 1.77827943e-02,
            9.99999978e-03, 5.62341325e-03, 3.16227786e-03, 1.77827943e-03,
            1.00000005e-03, 5.62341302e-04, 3.16227786e-04, 1.77827940e-04,
            1.00000000e+00, 5.62341332e-01, 3.16227764e-01, 1.77827939e-01,
            1.00000001e-01, 5.62341288e-02, 3.16227786e-02, 1.77827943e-02,
            9.99999978e-03, 5.62341325e-03, 3.16227786e-03, 1.77827943e-03,
            1.00000005e-03, 5.62341302e-04, 3.16227786e-04, 1.77827940e-04]]],

         [[[2.00000000e+00, 1.12468266e+00, 6.32455528e-01, 3.55655879e-01,
            2.00000003e-01, 1.12468258e-01, 6.32455572e-02, 3.55655886e-02,
            1.99999996e-02, 1.12468265e-02, 6.32455572e-03, 3.55655886e-03,
            2.00000009e-03, 1.12468260e-03, 6.32455572e-04, 3.55655880e-04,
            2.00000000e+00, 1.12468266e+00, 6.32455528e-01, 3.55655879e-01,
            2.00000003e-01, 1.12468258e-01, 6.32455572e-02, 3.55655886e-02,
            1.99999996e-02, 1.12468265e-02, 6.32455572e-03, 3.55655886e-03,
            2.00000009e-03, 1.12468260e-03, 6.32455572e-04, 3.55655880e-04]]],

         [[[3.00000000e+00, 1.68702400e+00, 9.48683262e-01, 5.33483803e-01,
            3.00000012e-01, 1.68702394e-01, 9.48683321e-02, 5.33483848e-02,
            2.99999993e-02, 1.68702397e-02, 9.48683359e-03, 5.33483829e-03,
            3.00000003e-03, 1.68702391e-03, 9.48683359e-04, 5.33483806e-04,
            3.00000000e+00, 1.68702400e+00, 9.48683262e-01, 5.33483803e-01,
            3.00000012e-01, 1.68702394e-01, 9.48683321e-02, 5.33483848e-02,
            2.99999993e-02, 1.68702397e-02, 9.48683359e-03, 5.33483829e-03,
            3.00000003e-03, 1.68702391e-03, 9.48683359e-04, 5.33483806e-04]]],

         [[[4.00000000e+00, 2.24936533e+00, 1.26491106e+00, 7.11311758e-01,
            4.00000006e-01, 2.24936515e-01, 1.26491114e-01, 7.11311772e-02,
            3.99999991e-02, 2.24936530e-02, 1.26491114e-02, 7.11311772e-03,
            4.00000019e-03, 2.24936521e-03, 1.26491114e-03, 7.11311761e-04,
            4.00000000e+00, 2.24936533e+00, 1.26491106e+00, 7.11311758e-01,
            4.00000006e-01, 2.24936515e-01, 1.26491114e-01, 7.11311772e-02,
            3.99999991e-02, 2.24936530e-02, 1.26491114e-02, 7.11311772e-03,
            4.00000019e-03, 2.24936521e-03, 1.26491114e-03, 7.11311761e-04]]],

         [[[5.00000000e+00, 2.81170654e+00, 1.58113885e+00, 8.89139712e-01,
            5.00000000e-01, 2.81170636e-01, 1.58113897e-01, 8.89139697e-02,
            4.99999970e-02, 2.81170662e-02, 1.58113893e-02, 8.89139716e-03,
            5.00000035e-03, 2.81170662e-03, 1.58113893e-03, 8.89139716e-04,
            5.00000000e+00, 2.81170654e+00, 1.58113885e+00, 8.89139712e-01,
            5.00000000e-01, 2.81170636e-01, 1.58113897e-01, 8.89139697e-02,
            4.99999970e-02, 2.81170662e-02, 1.58113893e-02, 8.89139716e-03,
            5.00000035e-03, 2.81170662e-03, 1.58113893e-03, 8.89139716e-04]]]])
    output_2 = np.array(
        [[[[1.00000000e+00, 4.78630096e-01, 2.29086772e-01, 1.09647825e-01,
            5.24807498e-02, 2.51188707e-02, 1.20226452e-02, 5.75439911e-03,
            2.75422912e-03, 1.31825719e-03, 6.30957598e-04, 3.01995198e-04,
            1.44543999e-04, 1.00000000e+00, 4.78630096e-01, 2.29086772e-01,
            1.09647825e-01, 5.24807498e-02, 2.51188707e-02, 1.20226452e-02,
            5.75439911e-03, 2.75422912e-03, 1.31825719e-03, 6.30957598e-04,
            3.01995198e-04, 1.44543999e-04]]],

         [[[2.00000000e+00, 9.57260191e-01, 4.58173543e-01, 2.19295651e-01,
            1.04961500e-01, 5.02377413e-02, 2.40452904e-02, 1.15087982e-02,
            5.50845824e-03, 2.63651437e-03, 1.26191520e-03, 6.03990396e-04,
            2.89087999e-04, 2.00000000e+00, 9.57260191e-01, 4.58173543e-01,
            2.19295651e-01, 1.04961500e-01, 5.02377413e-02, 2.40452904e-02,
            1.15087982e-02, 5.50845824e-03, 2.63651437e-03, 1.26191520e-03,
            6.03990396e-04, 2.89087999e-04]]],

         [[[3.00000000e+00, 1.43589032e+00, 6.87260330e-01, 3.28943491e-01,
            1.57442242e-01, 7.53566101e-02, 3.60679366e-02, 1.72631964e-02,
            8.26268736e-03, 3.95477144e-03, 1.89287285e-03, 9.05985595e-04,
            4.33631998e-04, 3.00000000e+00, 1.43589032e+00, 6.87260330e-01,
            3.28943491e-01, 1.57442242e-01, 7.53566101e-02, 3.60679366e-02,
            1.72631964e-02, 8.26268736e-03, 3.95477144e-03, 1.89287285e-03,
            9.05985595e-04, 4.33631998e-04]]],

         [[[4.00000000e+00, 1.91452038e+00, 9.16347086e-01, 4.38591301e-01,
            2.09922999e-01, 1.00475483e-01, 4.80905809e-02, 2.30175965e-02,
            1.10169165e-02, 5.27302874e-03, 2.52383039e-03, 1.20798079e-03,
            5.78175997e-04, 4.00000000e+00, 1.91452038e+00, 9.16347086e-01,
            4.38591301e-01, 2.09922999e-01, 1.00475483e-01, 4.80905809e-02,
            2.30175965e-02, 1.10169165e-02, 5.27302874e-03, 2.52383039e-03,
            1.20798079e-03, 5.78175997e-04]]],

         [[[5.00000000e+00, 2.39315057e+00, 1.14543390e+00, 5.48239112e-01,
            2.62403756e-01, 1.25594348e-01, 6.01132251e-02, 2.87719965e-02,
            1.37711456e-02, 6.59128604e-03, 3.15478793e-03, 1.50997599e-03,
            7.22719997e-04, 5.00000000e+00, 2.39315057e+00, 1.14543390e+00,
            5.48239112e-01, 2.62403756e-01, 1.25594348e-01, 6.01132251e-02,
            2.87719965e-02, 1.37711456e-02, 6.59128604e-03, 3.15478793e-03,
            1.50997599e-03, 7.22719997e-04]]]])
    output_3 = np.array(
        [[[[1.00000000e+00, 1.00000000e+00, 5.62341332e-01, 5.62341332e-01,
            3.16227764e-01, 3.16227764e-01, 1.77827939e-01, 1.77827939e-01,
            1.00000001e-01, 1.00000001e-01, 5.62341288e-02, 5.62341288e-02,
            3.16227786e-02, 3.16227786e-02, 1.77827943e-02, 1.77827943e-02,
            9.99999978e-03, 9.99999978e-03, 5.62341325e-03, 5.62341325e-03,
            3.16227786e-03, 3.16227786e-03, 1.77827943e-03, 1.77827943e-03,
            1.00000005e-03, 1.00000005e-03, 5.62341302e-04, 5.62341302e-04,
            3.16227786e-04, 3.16227786e-04, 1.77827940e-04, 1.77827940e-04]]],

         [[[2.00000000e+00, 2.00000000e+00, 1.12468266e+00, 1.12468266e+00,
            6.32455528e-01, 6.32455528e-01, 3.55655879e-01, 3.55655879e-01,
            2.00000003e-01, 2.00000003e-01, 1.12468258e-01, 1.12468258e-01,
            6.32455572e-02, 6.32455572e-02, 3.55655886e-02, 3.55655886e-02,
            1.99999996e-02, 1.99999996e-02, 1.12468265e-02, 1.12468265e-02,
            6.32455572e-03, 6.32455572e-03, 3.55655886e-03, 3.55655886e-03,
            2.00000009e-03, 2.00000009e-03, 1.12468260e-03, 1.12468260e-03,
            6.32455572e-04, 6.32455572e-04, 3.55655880e-04, 3.55655880e-04]]],

         [[[3.00000000e+00, 3.00000000e+00, 1.68702400e+00, 1.68702400e+00,
            9.48683262e-01, 9.48683262e-01, 5.33483803e-01, 5.33483803e-01,
            3.00000012e-01, 3.00000012e-01, 1.68702394e-01, 1.68702394e-01,
            9.48683321e-02, 9.48683321e-02, 5.33483848e-02, 5.33483848e-02,
            2.99999993e-02, 2.99999993e-02, 1.68702397e-02, 1.68702397e-02,
            9.48683359e-03, 9.48683359e-03, 5.33483829e-03, 5.33483829e-03,
            3.00000003e-03, 3.00000003e-03, 1.68702391e-03, 1.68702391e-03,
            9.48683359e-04, 9.48683359e-04, 5.33483806e-04, 5.33483806e-04]]],

         [[[4.00000000e+00, 4.00000000e+00, 2.24936533e+00, 2.24936533e+00,
            1.26491106e+00, 1.26491106e+00, 7.11311758e-01, 7.11311758e-01,
            4.00000006e-01, 4.00000006e-01, 2.24936515e-01, 2.24936515e-01,
            1.26491114e-01, 1.26491114e-01, 7.11311772e-02, 7.11311772e-02,
            3.99999991e-02, 3.99999991e-02, 2.24936530e-02, 2.24936530e-02,
            1.26491114e-02, 1.26491114e-02, 7.11311772e-03, 7.11311772e-03,
            4.00000019e-03, 4.00000019e-03, 2.24936521e-03, 2.24936521e-03,
            1.26491114e-03, 1.26491114e-03, 7.11311761e-04, 7.11311761e-04]]],

         [[[5.00000000e+00, 5.00000000e+00, 2.81170654e+00, 2.81170654e+00,
            1.58113885e+00, 1.58113885e+00, 8.89139712e-01, 8.89139712e-01,
            5.00000000e-01, 5.00000000e-01, 2.81170636e-01, 2.81170636e-01,
            1.58113897e-01, 1.58113897e-01, 8.89139697e-02, 8.89139697e-02,
            4.99999970e-02, 4.99999970e-02, 2.81170662e-02, 2.81170662e-02,
            1.58113893e-02, 1.58113893e-02, 8.89139716e-03, 8.89139716e-03,
            5.00000035e-03, 5.00000035e-03, 2.81170662e-03, 2.81170662e-03,
            1.58113893e-03, 1.58113893e-03, 8.89139716e-04, 8.89139716e-04]]]])
    output_4 = np.array(
        [[[[9.09090936e-01, 5.11219382e-01, 2.87479788e-01, 1.61661774e-01,
            9.09090936e-02, 5.11219352e-02, 2.87479814e-02, 1.61661766e-02,
            9.09090880e-03, 5.11219399e-03, 2.87479814e-03, 1.61661766e-03,
            9.09090973e-04, 5.11219376e-04, 2.87479808e-04, 1.61661766e-04,
            9.09090936e-01, 5.11219382e-01, 2.87479788e-01, 1.61661774e-01,
            9.09090936e-02, 5.11219352e-02, 2.87479814e-02, 1.61661766e-02,
            9.09090880e-03, 5.11219399e-03, 2.87479814e-03, 1.61661766e-03,
            9.09090973e-04, 5.11219376e-04, 2.87479808e-04, 1.61661766e-04]]],

         [[[1.81818187e+00, 1.02243876e+00, 5.74959576e-01, 3.23323548e-01,
            1.81818187e-01, 1.02243870e-01, 5.74959628e-02, 3.23323533e-02,
            1.81818176e-02, 1.02243880e-02, 5.74959628e-03, 3.23323533e-03,
            1.81818195e-03, 1.02243875e-03, 5.74959617e-04, 3.23323533e-04,
            1.81818187e+00, 1.02243876e+00, 5.74959576e-01, 3.23323548e-01,
            1.81818187e-01, 1.02243870e-01, 5.74959628e-02, 3.23323533e-02,
            1.81818176e-02, 1.02243880e-02, 5.74959628e-03, 3.23323533e-03,
            1.81818195e-03, 1.02243875e-03, 5.74959617e-04, 3.23323533e-04]]],

         [[[2.72727275e+00, 1.53365815e+00, 8.62439334e-01, 4.84985292e-01,
            2.72727281e-01, 1.53365806e-01, 8.62439424e-02, 4.84985299e-02,
            2.72727273e-02, 1.53365815e-02, 8.62439442e-03, 4.84985299e-03,
            2.72727292e-03, 1.53365813e-03, 8.62439396e-04, 4.84985299e-04,
            2.72727275e+00, 1.53365815e+00, 8.62439334e-01, 4.84985292e-01,
            2.72727281e-01, 1.53365806e-01, 8.62439424e-02, 4.84985299e-02,
            2.72727273e-02, 1.53365815e-02, 8.62439442e-03, 4.84985299e-03,
            2.72727292e-03, 1.53365813e-03, 8.62439396e-04, 4.84985299e-04]]],

         [[[3.63636374e+00, 2.04487753e+00, 1.14991915e+00, 6.46647096e-01,
            3.63636374e-01, 2.04487741e-01, 1.14991926e-01, 6.46647066e-02,
            3.63636352e-02, 2.04487760e-02, 1.14991926e-02, 6.46647066e-03,
            3.63636389e-03, 2.04487750e-03, 1.14991923e-03, 6.46647066e-04,
            3.63636374e+00, 2.04487753e+00, 1.14991915e+00, 6.46647096e-01,
            3.63636374e-01, 2.04487741e-01, 1.14991926e-01, 6.46647066e-02,
            3.63636352e-02, 2.04487760e-02, 1.14991926e-02, 6.46647066e-03,
            3.63636389e-03, 2.04487750e-03, 1.14991923e-03, 6.46647066e-04]]],

         [[[4.54545450e+00, 2.55609703e+00, 1.43739891e+00, 8.08308780e-01,
            4.54545468e-01, 2.55609661e-01, 1.43739894e-01, 8.08308795e-02,
            4.54545431e-02, 2.55609695e-02, 1.43739898e-02, 8.08308832e-03,
            4.54545487e-03, 2.55609676e-03, 1.43739907e-03, 8.08308832e-04,
            4.54545450e+00, 2.55609703e+00, 1.43739891e+00, 8.08308780e-01,
            4.54545468e-01, 2.55609661e-01, 1.43739894e-01, 8.08308795e-02,
            4.54545431e-02, 2.55609695e-02, 1.43739898e-02, 8.08308832e-03,
            4.54545487e-03, 2.55609676e-03, 1.43739907e-03, 8.08308832e-04]]]])
    output_5 = np.array(
        [[[[1.00000000e+00, 5.62341332e-01, 3.16227764e-01, 1.77827939e-01,
            1.00000001e-01, 5.62341288e-02, 3.16227786e-02, 1.77827943e-02,
            9.99999978e-03, 5.62341325e-03, 3.16227786e-03, 9.06152767e-04,
            2.13607578e-04, 7.02926627e-05, 3.95284733e-05, 2.22284925e-05,
            1.00000000e+00, 5.62341332e-01, 3.16227764e-01, 1.77827939e-01,
            1.00000001e-01, 5.62341288e-02, 3.16227786e-02, 1.77827943e-02,
            9.99999978e-03, 5.62341325e-03, 3.16227786e-03, 9.06152767e-04,
            2.13607578e-04, 7.02926627e-05, 3.95284733e-05, 2.22284925e-05]]],

         [[[2.00000000e+00, 1.12468266e+00, 6.32455528e-01, 3.55655879e-01,
            2.00000003e-01, 1.12468258e-01, 6.32455572e-02, 3.55655886e-02,
            1.99999996e-02, 1.12468265e-02, 6.32455572e-03, 1.81230553e-03,
            4.27215156e-04, 1.40585325e-04, 7.90569466e-05, 4.44569851e-05,
            2.00000000e+00, 1.12468266e+00, 6.32455528e-01, 3.55655879e-01,
            2.00000003e-01, 1.12468258e-01, 6.32455572e-02, 3.55655886e-02,
            1.99999996e-02, 1.12468265e-02, 6.32455572e-03, 1.81230553e-03,
            4.27215156e-04, 1.40585325e-04, 7.90569466e-05, 4.44569851e-05]]],

         [[[3.00000000e+00, 1.68702400e+00, 9.48683262e-01, 5.33483803e-01,
            3.00000012e-01, 1.68702394e-01, 9.48683321e-02, 5.33483848e-02,
            2.99999993e-02, 1.68702397e-02, 9.48683359e-03, 2.71845842e-03,
            6.40822749e-04, 2.10877988e-04, 1.18585420e-04, 6.66854758e-05,
            3.00000000e+00, 1.68702400e+00, 9.48683262e-01, 5.33483803e-01,
            3.00000012e-01, 1.68702394e-01, 9.48683321e-02, 5.33483848e-02,
            2.99999993e-02, 1.68702397e-02, 9.48683359e-03, 2.71845842e-03,
            6.40822749e-04, 2.10877988e-04, 1.18585420e-04, 6.66854758e-05]]],

         [[[4.00000000e+00, 2.24936533e+00, 1.26491106e+00, 7.11311758e-01,
            4.00000006e-01, 2.24936515e-01, 1.26491114e-01, 7.11311772e-02,
            3.99999991e-02, 2.24936530e-02, 1.26491114e-02, 3.62461107e-03,
            8.54430313e-04, 2.81170651e-04, 1.58113893e-04, 8.89139701e-05,
            4.00000000e+00, 2.24936533e+00, 1.26491106e+00, 7.11311758e-01,
            4.00000006e-01, 2.24936515e-01, 1.26491114e-01, 7.11311772e-02,
            3.99999991e-02, 2.24936530e-02, 1.26491114e-02, 3.62461107e-03,
            8.54430313e-04, 2.81170651e-04, 1.58113893e-04, 8.89139701e-05]]],

         [[[5.00000000e+00, 2.81170654e+00, 1.58113885e+00, 8.89139712e-01,
            5.00000000e-01, 2.81170636e-01, 1.58113897e-01, 8.89139697e-02,
            4.99999970e-02, 2.81170662e-02, 1.58113893e-02, 4.53076372e-03,
            1.06803793e-03, 3.51463328e-04, 1.97642366e-04, 1.11142464e-04,
            5.00000000e+00, 2.81170654e+00, 1.58113885e+00, 8.89139712e-01,
            5.00000000e-01, 2.81170636e-01, 1.58113897e-01, 8.89139697e-02,
            4.99999970e-02, 2.81170662e-02, 1.58113893e-02, 4.53076372e-03,
            1.06803793e-03, 3.51463328e-04, 1.97642366e-04, 1.11142464e-04]]]])
    return {
        "output_1": output_1,
        "output_2": output_2,
        "output_3": output_3,
        "output_4": output_4,
        "output_5": output_5
    }

GOLDEN_DATA = get_golden()
GPU_DATA = get_gpu_datas()
